New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

postcss-responsive-type

Package Overview
Dependencies
Maintainers
1
Versions
12
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

postcss-responsive-type

PostCSS plugin that adds responsive magic to font-size

0.3.3
Source
npm
Version published
Weekly downloads
7.3K
-12.49%
Maintainers
1
Weekly downloads
 
Created
Source

PostCSS Responsive Type

NPM version Build Status Dependency Status

PostCSS plugin for automagical responsive typography. Adds a responsive property to font-size that generates complex calc and vw based font sizes.

Inspired by this post from @MikeRiethmuller, and Typographic.

Part of Rucksack - CSS Superpowers.

Responsive Type Demo

Quick start:
html {
  font-size: responsive;
}
Specify parameters:

Units can be in px, rem, or em.

html {
  font-size: responsive 12px 21px; /* min-size, max-size */
  font-range: 420px 1280px; /* viewport widths between which font-size is fluid */
}
Expanded syntax:
html {
  font-size: responsive;
  min-font-size: 12px;
  max-font-size: 21px;
  lower-font-range: 420px;
  upper-font-range: 1280px;
}
What it outputs:
html {
  font-size: calc(12px + 9 * ((100vw - 420px) / 860));
}

@media screen and (max-width: 420px) {
  html {
    font-size: 12px;
  }
}

@media screen and (min-width: 1280px) {
  html {
    font-size: 21px;
  }
}

That calc expression is equivalent to

min-size + (max-size - min-size) * ( (100vw - min-width) / ( max-width - min-width) )

--

Defaults

To get started you only need to specify font-size: responsive;, all other properties have sane defaults.

min-font-size: 14px

max-font-size: 21px

lower-font-range: 420px

upper-font-range: 1280px

--

Browser Support

postcss-responsive-type just uses calc, vw units, and media queries behind the scenes, so it works on all modern browsers (IE9+). Although Opera Mini is not supported.

Legacy browsers will ignore the output responsive font-size. You can easily provide a simple static fallback:

.foo {
  font-size: 16px;
  font-size: responsive;
}

Alternatively, if you feel the need to fully support legacy browsers or Opera Mini, there are polyfills that can help!

  • respond for media query support.

  • calc-polyfill for calc support.

  • vminpoly for vw unit support.

--

Usage

postcss([ require('postcss-responsive-type')() ])

See PostCSS docs for examples for your environment.

You can use postcss-responsive-type with Stylus through PostStylus.

--

License

MIT © Sean King

Keywords

postcss

FAQs

Package last updated on 18 Feb 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts